package com.heng.groupchat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heng.groupchat.model.entity.User;
import jakarta.servlet.http.HttpServletRequest;

/**
 * 用户服务接口
 *
 * @author faye
 * @description 针对表 user 的数据库操作 Service
 */
public interface UserService  extends IService<User> {

    /**
     * 用户注册
     *
     * @param username 用户账号
     * @param password 用户密码
     * @param checkPassword 校验密码
     * @return 新用户id
     */
    long userRegister(String username, String password, String checkPassword);

    /**
     * 根据用户名（账户）获取用户
     * @param username 用户名（账号）
     * @return 用户实体
     */
    User getUserByUsername(String username);

    /**
     * 获取当前登录用户
     *
     * @param request HTTP请求
     * @return 当前登录用户
     */
    User getCurrentUser(HttpServletRequest request);
}

